package xsxdjc
public class FlowTest{
	public static Closure rule = {_context_ ->
		HashMap _result_ = new HashMap();
		_result_.rname = 'FlowTest';
		_result_.rpath = 'xsxdjc/FlowTest';
		
		Map<Integer,Map> _stateMachine_ =[
			1:[itemType:'start',
				action:{},
				nextStateId:52,
			],
			2:[itemType:'end',
				action:{},
				nextStateId:0,
			],
			52:[itemType:'task',
				action:{
					def _rresult_ = apply(class9.年龄风险分类.rule);
					temp = _rresult_;
					return _rresult_;
				},
				nextStateId:56,
			],
			56:[itemType:'task',
				action:{
					def _rresult_ = apply(UserInfo.rule);
					基本信息.姓名 = _rresult_.data;
					return _rresult_;
				},
				nextStateId:58,
			],
			58:[itemType:'task',
				action:{
					def _rresult_ = apply(class9.性别分类.rule);
					衍生变量.文本2 = _rresult_;
					return _rresult_;
				},
				nextStateId:2,
			],
		];
		def _node_ = _stateMachine_[1];//the start node
		while(_node_.itemType != 'end')
		{
			if(_node_.itemType in ['task','start'])
			{
				_node_.action();
				_node_ = _stateMachine_[_node_.nextStateId];
			}
			else if(_node_.itemType == 'switch')
			{
				_node_ = _stateMachine_[_node_.nextStateId[_node_.action().clas.id]];
			}
			else assert false;
		}
		_result_.rets = [:];
		_result_.rets.年龄 = 基本信息.年龄;
		_result_.rets.temp = temp;
		_result_.rets.文本1 = 衍生变量.文本1;
		
		return _result_;
	};
};